Multiprocessors, which herein include multi-core processors, are becoming more widespread in the computer industry. As such, to optimize performance on multiprocessors, software programs need to be parallelized to take full advantage of parallel execution. Programs may be written using sequential programming and then compiled with a parallelizing compiler to produce the parallel code. Parallelizing compilers locate computations in the sequential code that can execute independently in parallel.